From: Jyrki Gadinger Date: Fri, 7 Feb 2025 09:24:44 +0000 (+0100) Subject: fix deletion of .lnk files on Windows with paths containing special characters X-Git-Tag: archive/raspbian/3.16.7-1_deb13u1+rpi1~1^2~12^2~2^2~80^2 X-Git-Url: https://dgit.raspbian.org/%22http://www.example.com/cgi/success/%22http:/www.example.com/cgi/success?a=commitdiff_plain;h=179c80ed4541482c6d668a1a3ebe38fab35266eb;p=nextcloud-desktop.git fix deletion of .lnk files on Windows with paths containing special characters Signed-off-by: Jyrki Gadinger --- diff --git a/src/common/filesystembase.cpp b/src/common/filesystembase.cpp index cf806fd8e..90dea280f 100644 --- a/src/common/filesystembase.cpp +++ b/src/common/filesystembase.cpp @@ -121,10 +121,10 @@ void FileSystem::setFileReadOnly(const QString &filename, bool readonly) std::filesystem::perms allWritePermissions = std::filesystem::perms::_All_write; static std::filesystem::perms defaultWritePermissions = std::filesystem::perms::others_write; - std::filesystem::permissions(filename.toStdString(), allWritePermissions, std::filesystem::perm_options::remove); + std::filesystem::permissions(filename.toStdWString(), allWritePermissions, std::filesystem::perm_options::remove); if (!readonly) { - std::filesystem::permissions(filename.toStdString(), defaultWritePermissions, std::filesystem::perm_options::add); + std::filesystem::permissions(filename.toStdWString(), defaultWritePermissions, std::filesystem::perm_options::add); } } catch (const std::filesystem::filesystem_error &e) @@ -370,7 +370,7 @@ bool FileSystem::openAndSeekFileSharedRead(QFile *file, QString *errorOrNull, qi #ifdef Q_OS_WIN std::filesystem::perms FileSystem::filePermissionsWin(const QString &filename) { - return std::filesystem::status(filename.toStdString()).permissions(); + return std::filesystem::status(filename.toStdWString()).permissions(); } void FileSystem::setFilePermissionsWin(const QString &filename, const std::filesystem::perms &perms) @@ -378,7 +378,7 @@ void FileSystem::setFilePermissionsWin(const QString &filename, const std::files if (!fileExists(filename)) { return; } - std::filesystem::permissions(filename.toStdString(), perms); + std::filesystem::permissions(filename.toStdWString(), perms); } static bool fileExistsWin(const QString &filename)